(高级) 利用高通 EDL 模式对运行 HyperOS 的小米手机进行降级

2025-05-08 06:43:05 [刷机] [小米] [手机] [降级] [教程]

注意:本教程已经流产了,因为本文提到的使用 Fastboot 进入 EDL 的方法已经证实在未解锁的手机上不可用,fastboot oem edl 会直接返回 Unknown Command 错误,adb reboot edl 手机也不会进入 EDL 模式而是直接正常重启。但本文仍被保留作为参考,为有其他手段使手机进入 EDL 模式的用户提供一个基于自由软件的解决方案。如果您不熟悉这些,建议参考这个项目(该项目是自由软件,但本人没试过)或者这个项目(本人实测可用,但该项目是专有软件)采取一些尝试;如果有困难无法进行,建议更换手机。

注意:本教程仅适合熟悉 EDL 模式的用户,需要一定技术基础。如果您从未听说过 EDL 是什么,请勿尝试本教程,如果您使用 HyperOS 的小米手机并希望使用自由软件操作系统,建议更换手机。显然本教程对非高通处理器机型不适用。

注意:本人经实测小米 10S 成功进入 EDL 模式,但不保证其它机型(尤其是较老机型)是否适用这一方法,如果您技术基础薄弱且在参考本教程操作时受阻,请勿继续。

注意:本操作将清除手机所有数据,请提前备份。

免责声明:本教程的操作流程尚未经过严格测试,您自行承担因手机变砖而带来的损失。

由于小米手机收紧了 HyperOS 机型的 Bootloader 解锁条件,使用官方方法解锁小米手机 Bootloader 已几乎不可能。但是,针对运行 MIUI 的机器小米仍然适用原来的解锁政策和方式。因而如果您的设备如果运行 HyperOS,但是出厂系统为 MIUI,理论上是可以通过降级简化解锁流程的。

下面,我将以小米 10S 为例,展示如何在 GNU/Linux 上通过 EDL 模式对手机进行降级。(Microsoft Windows 和 macOS 用户请灵活变通。)

准备

你需要 Android SDK Platform Tools、 Python 和 Git。

 $ sudo apt install android-sdk-platform-tools python3 python3-pip python3-venv git

第一步:下载刷机包

这个网站查找您需要的机型(本教程使用小米 10S,搜索“10S”,随后找到 Xiaomi Mi 10S 打开)。

随后,在 Older official XXX firmware for XXX 列表中找到 MIUI 开头的包的最新版本,并选择 Fastboot 包下载。下载完毕后解压。

第二步:安装 edl 工具

安装 edl 工具。由于大多数 GNU/Linux 发行版不提供最新版本的 Python 模块,因而我们这里使用 venv

 $ git clone https://github.com/bkerler/edl
 $ cd edl
 $ python3 -m venv edl_venv
 $ ./edl_venv/bin/pip3 install -r ./requirements.txt

第三步:手机进入 EDL 模式

手机进入 Fastboot 模式。然后执行:

~~ $ fastboot oem edl~~

以上方法已证实在 Bootloader 处于锁定状态的手机不奏效。建议使用其他方案,例如拆机或工程线(以上方法本人均为实操过,有经验的朋友欢迎联系我补充)

第四步:测试连接是否正常

在解压出的镜像目录(一般文件名为 images)找到所需要的 Loader 文件。

Loader 文件为 mbn 格式,一般文件名为 prog_emmc_firehose_*.mbn 或 prog_ufs_firehose_*.mbn。

edl 目录中执行:

 $ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn

path/to/images/folder/ 替换为你的镜像目录。查看输出,检查设备是否被成功检测到。

第五步:开始刷机

确认镜像目录中有几个 rawprogramX.xml 和 patchX.xml 文件。

依次执行:

 $ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram0.xml patch0.xml path/to/images/folder/
 $ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram1.xml patch1.xml path/to/images/folder/
 $ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn qfil rawprogram2.xml patch2.xml path/to/images/folder/
 ...

path/to/images/folder/ 替换为你的镜像目录。直到针对每一个 rawprogramX.xml 和 patchX.xml 文件对执行完毕为止。

第六步:重启手机

执行:

 $ ./edl_venv/bin/python3 ./edl --loader path/to/images/folder/prog_*_firehose_*.mbn reset

path/to/images/folder/ 替换为你的镜像目录。如果不出问题,您的手机将重启。之后,您便可以按照 MIUI 的方法,绑定小米账号并等待七天解锁了。